package com.dfiov.cloud.msmtools.mapper.entity.msbluetooth;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class SoBluetoothKeyWithDevice {

	/**
	 * id
	 */
	private Long id;

	/**
	 * 项目id
	 */
	private String projectId;

	/**
	 * 设备类型
	 */
	private String deviceType;

	/**
	 * 设备id
	 */
	private String deviceId;

	/**
	 * 用户身份密钥(PBKDF2)生成
	 */
	private String userIdentityKey;//userPrivateKey

	/**
	 * 用户账号sid
	 */
	private Long userAccountSid;

	/**
	 * 移动设备号
	 */
	private String mobileDeviceNo;

	/**
	 * 蓝牙访问钥匙
	 */
	private String bluetoothAccessKey;

	/**
	 * 钥匙发放时间
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private LocalDateTime keyAssignTime;

	/**
	 * 钥匙到期时间
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private LocalDateTime keyExpireTime;

	/**
	 * 密钥刷新时间
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private LocalDateTime keyRefreshTime;

	/**
	 * 钥匙注销时间
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private LocalDateTime keyDestroyTime;

	/**
	 * 钥匙状态
	 */
	private Integer keyStatus;

	/**
	 * 钥匙关系 1 车主 0 非车主
	 */
	private Integer relationship;

	/**
	 * 回复状态：1 已经确认 0 未知
	 */
	private BigDecimal replyStatus;


	/**
	 * 0 - 正常 1 - 删除
	 */
	private Integer delFlag;

	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private LocalDateTime createTime;

	private String createBy;

	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private LocalDateTime updatetime;

	private String updateBy;


	//device
	/**
	 * 蓝牙连接名
	 */
	private String bluetoothConName;

	/**
	 * 蓝牙连接key
	 */
	private String bluetoothConKey;

	/**
	 * 设备公钥
	 */
	private String devicePublicKey;



	/**
	 * 是否需要激活
	 */
	private Boolean  isNeedActive;

	/*
	车牌号
	 */
	private String licence;

	/**
	 * 车主是否删除  0 - 正常 1 - 删除
	 */
	private Integer masterShow;
	/**
	 *非车主是否删除 0 - 正常 1 - 删除
	 */
	private Integer guestShow;


	/**
	 *手机型号
	 */
	private String	phoneModel;


	/*
		车辆钥匙到期时间
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private LocalDateTime endTime;

	/*
		相差天数
	 */
	private Integer dimDd;

	/**
	 * 自动泊车到期时间
	 */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private LocalDateTime parkingKeyExpireTime;

}
